package com.ddm.service;

import com.ddm.dto.AllLevelDTO;
import com.ddm.dto.LevelDTO;
import com.ddm.dto.page.LevelPageQueryDTO;
import com.ddm.result.PageResult;
import com.ddm.vo.LevelVO;

/**
 * @author 丁丁猫
 * @version 1.0
 */
public interface LevelService {
    /**
     * 检测级数是否存在
     * @param levelDTO
     * @return
     */
    boolean checkLevel(LevelDTO levelDTO);
    /**
     * 新增指标
     * @param levelDTO
     */
    Long saveV(LevelDTO levelDTO);

    /**
     * 根据id修改指标
     * @param levelDTO
     */

    void updateById(LevelDTO levelDTO);

    /**
     * 根据关键词分页查询指标
     * @param levelPageQueryDTO
     * @return
     */
    PageResult pageQueryByKeyWord(LevelPageQueryDTO levelPageQueryDTO);

    /**
     * 根据id查询指标
     * @param id
     * @return
     */
    LevelVO getById(Long id, Long level);

    /**
     * 根据id删除指标
     * @param id
     */
    void removeById(Long id,Long level);
    /**
     * 根据standardId批量删除指标
     * @param standardId
     */
    void removeByStandardId(Long standardId);

    /**
     * 保存所有指标
     * @param allLevelDTO
     */
    void saveAll(AllLevelDTO allLevelDTO);

    /**
     * 保存所有指标Plus
     * @param standardId
     */
    void savePlus(Long standardId);

    /**
     * 插入指标
     * @param levelDTO
     */
    void saveI(LevelDTO levelDTO);

    /**
     * selcectById
     * @param level
     * @param numId
     * @param standardId
     * @return
     */
    LevelVO getBySelectId(Long level, String numId, Long standardId);
}
